<?php

declare (strict_types=1);

namespace app\controller;

use think\facade\Request;
use think\facade\View;

// +--------------------------------------------------------------------------------------------------------------------
// | 目的: 目的
// | 实现机制: 实现机制
// | 核心流程示: 核心流程示
// |
// +--------------------------------------------------------------------------------------------------------------------

/**
 * Request对象获取当前的请求信息
 */
class RequestInfo
{

    /**
     * 请求信息展示
     *
     */
    public function detailsParameter()
    {
        // 获取完整URL地址 不带域名
        $url = Request::url();
        // 获取完整URL地址 包含域名
        $UrlHost = Request::url(true);
        // 获取当前URL（不含QUERY_STRING） 不带域名
        $baseFile = Request::baseFile();
        // 获取当前URL（不含QUERY_STRING） 包含域名
        $baseFileHost = Request::baseFile(true);
        // 获取URL访问根地址 不带域名
        $root = Request::root();
        // 获取URL访问根地址 包含域名
        $rootHost = Request::root(true);
        // 获取当前控制器
        $controller = Request::controller();
        // 获取当前操作
        $action=Request::action();


        // 直接渲染内容
        $content = '获取完整URL地址 不带域名:' . $url . PHP_EOL;
        $content .= '获取完整URL地址 包含域名:' . $UrlHost . PHP_EOL;
        $content .= '获取当前URL（不含QUERY_STRING）不带域名:' . $baseFile . PHP_EOL;
        $content .= '获取当前URL（不含QUERY_STRING）包含域名:' . $baseFileHost . PHP_EOL;
        $content .= '获取URL访问根地址 不带域名:' . $root . PHP_EOL;
        $content .= '获取URL访问根地址 包含域名:' . $rootHost . PHP_EOL;
        $content .= '获取当前控制器:' . $controller . ' | 小写形式:' . Request::controller(true) . ' | 小写+下划线的方式:' . parse_name(Request::controller()) . PHP_EOL;
        $content .= '获取当前操作:' . $action . ' | 小写形式:' . Request::action(true) . ' | 小写+下划线的方式:' . parse_name(Request::action()) . PHP_EOL;

        return View::display($content);

    }


}